Data that can normally be used by a certain version of software cannot sometimes normally be used when the version of software is changed. Examples of such software include Computer-Aided Design (CAD) software such as CATIA®. A version change is caused by, for example, making a new release or applying a critical patch.
In making a new release or applying a critical patch, the developer of the CAD software (hereafter referred to as “developer”) checks whether the bug in question has been corrected. At this time, ideally, the developer checks portions in which the bug in question has not occurred, for example, previously corrected portions so as to guarantee that the correction of the bug does not affect other portions, that is, that the quality of the CAD software is not unexpectedly degraded due the correction of the bug.
However, for CAD software, data used thereby, the usage (functions to be used) and quality standard (required accuracy) thereof, and the like vary among user companies of the CAD software (hereafter simply referred to as “users”). For this reason, it is difficult for the developer to grasp these. Since such data and usage are knowhow, the user cannot make them public.
In view of the foregoing, it is difficult for the developer to conduct a test covering the usage employed by each user each time a new release is made or a critical patch is applied, so as to guarantee that the correction of the bug does not affect other portions.
For this reason, it is useful for the user to conduct a test using user data each time a new release is made or a critical patch is applied.
A technology performs: a state identification process of identifying a state where an external module is called, by referring to a state outputted by model inspection and state space represented by state transition; a path extraction process of extracting a path from a state where the identified external module is called to an initial state by referring to state transition; a property application process of comparing the extracted path with a property condition made in the form of “if A (condition), then B (result)” on the basis of the program specification and detecting an extracted path meeting the condition; a scenario classification process of classifying paths extracted by condition; and a test case formation process of forming the extracted paths classified by the scenario classification process and results expected to be property results corresponding to the extracted paths into test cases.
A technology provides a virtual directory independently of an actual directory in a hard disk of a first server included in a production apparatus, which is actually running. Data related to a program which is registered by the user in a job registration unit and which is to be tested is stored in the virtual directory. The job processing unit performs an actual process using an actual job processing unit, as well as performs a program to be tested, using a virtual job processing unit. A file analysis unit identifies the details and characteristics of the process by analyzing respective input/output data of the original program and the current program and then creates a test case and makes a determination as to the test result. A release processing unit deletes the test-related data stored in the virtual directory after the test and transfers such as a program that can be released, to the actual directory.
A technology disclosed deletes duplicate test cases using a trace function embedding unit for embedding a process for tracing the flow of a process, in source code to be tested and a test result analysis unit for connecting a trace information table and a test result table outputted by an automatic testing system and then displays the test result table on a display unit.